The delivery of real-time multimedia traffic over wireless networks is expected to be an important application in Third Generation Cellular, WIFI and WIMAX wireless networks. In these applications, multimedia information such as digital data representing images and sounds are organized into packets. Multimedia sources send streams of these packets to processing devices such as wireless access points that transmit the packets over wireless communication channels to end-user receivers. If a processing device is unable to transmit a packet immediately, it temporarily stores the packet in a queue or buffer until it can be transmitted. For example, a processing device may not be able to transmit a packet when the wireless communication channel is being used by another processing device.
The perceived quality of the multimedia information as received by the end user can be adversely affected by a number of factors including packet loss, packet delay and delay jitter. Packet loss includes missing packets, which are not received by the end-user receiver, and corrupted packets, which are received but the information they carry has been corrupted. These packet losses may be caused by: (1) noisy communication channels, (2) simultaneous transmissions or “collisions” with packets sent by multiple transmitters, and (3) overflow of the buffers used in the processing devices to temporarily store packets before they are transmitted. Buffer overflow can occur when a processing device must temporarily store a packet in its buffer but the buffer is already full. The packet losses caused by noisy communication channels and collisions are referred to herein as Type I losses and the packet losses caused by buffer overflow are referred to herein as Type II losses.
A number of techniques have been proposed to reduce the perceived effects of Type I and Type II packet losses. One technique known as Forward Error Correction (FEC) enables a receiver to recover the information carried by missing or corrupted packets provided the conditions that caused the losses are not too frequent and do not last too long. The length and frequency of the error-causing conditions that can be handled by FEC are controlled by two parameters n and k, where a number (n−k) of “FEC packets” are combined with a number k of multimedia packets to form a set of packets with a total number of n multimedia+FEC packets. If a receiver can receive at least k of the n packets without corruption, then any losses due to missing and corrupted packets can be corrected. If fewer than k packets out of the n packets are received without corruption, then the information losses for one or more packets cannot be recovered.
Unfortunately, FEC has a cost. The additional number (n−k) of FEC packets increases the risk of delays due to collisions and increases either the time or the channel bandwidth needed to transmit each set of packets. The values of the FEC parameters (n,k) may be chosen to optimize a tradeoff between competing requirements. A higher ratio
  φ  =      n    k  increases the level of error correction that is possible but also increases delays and increases the needed channel bandwidth by a factor of φ.
The FEC parameters (n,k) can be chosen to meet requirements for protection, delay and bandwidth for a specified rate of packet loss. Unfortunately, it may be impossible to meet all requirements simultaneously and a compromise among the various requirements may be necessary. Furthermore, the available channel bandwidth imposes a practical limit on the ratio φ. A very high ratio may impose a bandwidth requirement that either causes the starvation of packets from other data sources or exceeds the available bandwidth of the communication channel. The optimal choice of the FEC parameters should take into account the available bandwidth of the channel as well as the bandwidth required by packets provided by other data sources.
In practice, however, the conditions in a communication system can change rapidly. An optimum choice of FEC parameters that provides the desired level of protection with the least increase in bandwidth requires that the FEC parameter values (n,k) be set adaptively. What is needed is a way to adapt these FEC parameters that can be implemented by a process having low computational complexity. This would allow the FEC system to adapt itself in real time using devices with only modest processing power that can be incorporated into typical network equipment at low cost.
An adaptive FEC system according to the present invention can be implemented more effectively if facilities are available to measure conditions periodically and provide those measurements to the portion of the system that adapts the FEC parameters. The existence of such a measurement facility is assumed throughout the remainder of this disclosure. No particular measurement facility is essential to the present invention in principle. For ease of explanation, the following discussion assumes a facility is available to measure all traffic rates and losses that are needed as input parameters to the communication system models described below. An implementation of the present invention can use these measurements along with other parameters to adapt the FEC parameter values (n, k) to minimize the effects of Type II packet losses.